package com.sky.service;

import com.sky.dto.DishDTO;
import com.sky.dto.SetmealDTO;
import com.sky.entity.Category;
import com.sky.entity.Dish;
import com.sky.entity.Setmeal;
import com.sky.result.PageResult;
import com.sky.vo.DishVO;
import com.sky.vo.SetmealVO;

import java.util.List;

public interface CategoryService {
    void putMeal(SetmealDTO setmeal);

    PageResult getMeals(Integer page, Integer pageSize, Long categoryId, String name, Integer status);

    void deleteMeal(List<Long> ids);

    void startOrStopMeal(Integer status, Long id);

    void addMeal(SetmealDTO setmeal);

    SetmealVO getMealByid(Long id);

    void updateCategory(Category category);

    PageResult getCategorys(Integer page, Integer pageSize, String name, Integer type);

    void startOrStopCategory(Integer status, Long id);

    void addCategory(Category category);

    List<Category> getCategoryByType(Integer type);

    List<DishVO> getDishByCategoryId(Long id);

    void deleteCategory(Long id);

    PageResult pageDish(Long categoryId, String name, Integer page, Integer pageSie, Integer status);

    DishVO getDishById(Long id);

    void updateDish(DishVO dish);

    Long addDish(DishDTO  dish);

    void startOrStop(Integer status, Long id);

    void deleteDish(List<Long> ids);

    List<Dish> getDishBycategoryId(Long categoryId);

    List<Category> getTypeListByStatus(Integer type);

    List<SetmealVO> getsetmealByCategoryId(Long category);

    List<DishVO> getDishesBySetmealId(Long setmealId);
}
